package org.gourpg.model.project;

import java.sql.Timestamp;

/**
 * 任务基础信息实体
 */
public class ProjectScheduleDetail {
    /**
     * 任务编号，主键
     */
    private Integer scheduleId;

    /**
     * 项目编号
     */
    private Integer projectId;

    /**
     * 任务说明
     */
    private String scheduleRemark;

    /**
     * 任务负责人
     */
    private Integer schedulePersonId;

    /**
     * 启动时间
     */
    private Timestamp scheduleStartTime;

    /**
     * 结束时间
     */
    private Timestamp scheduleEndTime;

    /**
     * 时间间隔(毫秒)
     */
    private Integer scheduleTimeInterval;

    public ProjectScheduleDetail() {
    }

    public Integer getScheduleId() {
        return this.scheduleId;
    }

    public Integer getProjectId() {
        return this.projectId;
    }

    public String getScheduleRemark() {
        return this.scheduleRemark;
    }

    public Integer getSchedulePersonId() {
        return this.schedulePersonId;
    }

    public Timestamp getScheduleStartTime() {
        return this.scheduleStartTime;
    }

    public Timestamp getScheduleEndTime() {
        return this.scheduleEndTime;
    }

    public Integer getScheduleTimeInterval() {
        return this.scheduleTimeInterval;
    }

    public void setScheduleId(Integer scheduleId) {
        this.scheduleId = scheduleId;
    }

    public void setProjectId(Integer projectId) {
        this.projectId = projectId;
    }

    public void setScheduleRemark(String scheduleRemark) {
        this.scheduleRemark = scheduleRemark;
    }

    public void setSchedulePersonId(Integer schedulePersonId) {
        this.schedulePersonId = schedulePersonId;
    }

    public void setScheduleStartTime(Timestamp scheduleStartTime) {
        this.scheduleStartTime = scheduleStartTime;
    }

    public void setScheduleEndTime(Timestamp scheduleEndTime) {
        this.scheduleEndTime = scheduleEndTime;
    }

    public void setScheduleTimeInterval(Integer scheduleTimeInterval) {
        this.scheduleTimeInterval = scheduleTimeInterval;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof ProjectScheduleDetail)) return false;
        final ProjectScheduleDetail other = (ProjectScheduleDetail) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$scheduleId = this.getScheduleId();
        final Object other$scheduleId = other.getScheduleId();
        if (this$scheduleId == null ? other$scheduleId != null : !this$scheduleId.equals(other$scheduleId))
            return false;
        final Object this$projectId = this.getProjectId();
        final Object other$projectId = other.getProjectId();
        if (this$projectId == null ? other$projectId != null : !this$projectId.equals(other$projectId)) return false;
        final Object this$scheduleRemark = this.getScheduleRemark();
        final Object other$scheduleRemark = other.getScheduleRemark();
        if (this$scheduleRemark == null ? other$scheduleRemark != null : !this$scheduleRemark.equals(other$scheduleRemark))
            return false;
        final Object this$schedulePersonId = this.getSchedulePersonId();
        final Object other$schedulePersonId = other.getSchedulePersonId();
        if (this$schedulePersonId == null ? other$schedulePersonId != null : !this$schedulePersonId.equals(other$schedulePersonId))
            return false;
        final Object this$scheduleStartTime = this.getScheduleStartTime();
        final Object other$scheduleStartTime = other.getScheduleStartTime();
        if (this$scheduleStartTime == null ? other$scheduleStartTime != null : !this$scheduleStartTime.equals(other$scheduleStartTime))
            return false;
        final Object this$scheduleEndTime = this.getScheduleEndTime();
        final Object other$scheduleEndTime = other.getScheduleEndTime();
        if (this$scheduleEndTime == null ? other$scheduleEndTime != null : !this$scheduleEndTime.equals(other$scheduleEndTime))
            return false;
        final Object this$scheduleTimeInterval = this.getScheduleTimeInterval();
        final Object other$scheduleTimeInterval = other.getScheduleTimeInterval();
        if (this$scheduleTimeInterval == null ? other$scheduleTimeInterval != null : !this$scheduleTimeInterval.equals(other$scheduleTimeInterval))
            return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof ProjectScheduleDetail;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $scheduleId = this.getScheduleId();
        result = result * PRIME + ($scheduleId == null ? 43 : $scheduleId.hashCode());
        final Object $projectId = this.getProjectId();
        result = result * PRIME + ($projectId == null ? 43 : $projectId.hashCode());
        final Object $scheduleRemark = this.getScheduleRemark();
        result = result * PRIME + ($scheduleRemark == null ? 43 : $scheduleRemark.hashCode());
        final Object $schedulePersonId = this.getSchedulePersonId();
        result = result * PRIME + ($schedulePersonId == null ? 43 : $schedulePersonId.hashCode());
        final Object $scheduleStartTime = this.getScheduleStartTime();
        result = result * PRIME + ($scheduleStartTime == null ? 43 : $scheduleStartTime.hashCode());
        final Object $scheduleEndTime = this.getScheduleEndTime();
        result = result * PRIME + ($scheduleEndTime == null ? 43 : $scheduleEndTime.hashCode());
        final Object $scheduleTimeInterval = this.getScheduleTimeInterval();
        result = result * PRIME + ($scheduleTimeInterval == null ? 43 : $scheduleTimeInterval.hashCode());
        return result;
    }

    public String toString() {
        return "ProjectScheduleDetail(scheduleId=" + this.getScheduleId() + ", projectId=" + this.getProjectId() + ", scheduleRemark=" + this.getScheduleRemark() + ", schedulePersonId=" + this.getSchedulePersonId() + ", scheduleStartTime=" + this.getScheduleStartTime() + ", scheduleEndTime=" + this.getScheduleEndTime() + ", scheduleTimeInterval=" + this.getScheduleTimeInterval() + ")";
    }
}
